package cn.rkylin.oms.sysOrder.domain;

import cn.rkylin.oms.common.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 系统订单商品实体，对应oms_order_goods表
 *
 * @author wangxing
 * @version 1.0
 * @created 2017.09.14
 */
public class SysOrderGoods extends BaseEntity {
    /**
     * 序列化id
     */
    private static final long serialVersionUID = 2311447787333234878L;
    /**
     * 订单商品id
     */
    private String orderGoodsId;

    /**
     * 订单id
     */
    private String orderId;

    /**
     * 订购数量
     */
    private Integer qty;

    /**
     * 发货中数量
     */
    private Integer shippingQty;

    /**
     * 已发货数量
     */
    private Integer shipedQty;

    /**
     * 平台标准单价(吊牌价)
     */
    private BigDecimal price;

    /**
     * 系统标准单价
     */
    private BigDecimal salePrice;

    /**
     * 实际单价(拍单价)
     */
    private BigDecimal factUnitPrice;

    /**
     * 成本价
     */
    private BigDecimal goodsSkuCost;

    /**
     * 实际支付金额
     */
    private BigDecimal divideOrderFee;

    /**
     * 备注
     */
    private String remark;

    /**
     * 子订单编号(平台oid)
     */
    private String oid;

    /**
     * 平台交易号
     */
    private String tradeCode;

    /**
     * 赠品
     */
    private String isGift;

    /**
     * 虚拟商品
     */
    private String isVirt;

    /**
     * 平台规格id
     */
    private String ecSkuId;

    /**
     * 平台规格编码
     */
    private String ecSkuCode;

    /**
     * 平台规格名称
     */
    private String ecSkuName;

    /**
     * 平台商品id
     */
    private String ecItemId;

    /**
     * 平台商品编码
     */
    private String ecItemCode;

    /**
     * 平台商品名称
     */
    private String ecItemName;

    /**
     * 规格id
     */
    private String skuId;

    /**
     * 规格商家编码
     */
    private String skuCode;

    /**
     * 规格名称
     */
    private String skuName;

    /**
     * 商品id
     */
    private String goodsId;

    /**
     * 商品商家编码
     */
    private String goodsCode;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 删除标记
     */
    private String deleted;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 平台商品商家编码
     */
    private String ecItemOuterCode;

    /**
     * 平台规格商家编码
     */
    private String ecSkuOuterCode;

    /**
     * 订单商品id
     *
     * @return order_goods_id 订单商品id
     */
    public String getOrderGoodsId() {
        return orderGoodsId;
    }

    /**
     * 订单商品id
     *
     * @param orderGoodsId 订单商品id
     */
    public void setOrderGoodsId(String orderGoodsId) {
        this.orderGoodsId = orderGoodsId == null ? null : orderGoodsId.trim();
    }

    /**
     * 订单id
     *
     * @return order_id 订单id
     */
    public String getOrderId() {
        return orderId;
    }

    /**
     * 订单id
     *
     * @param orderId 订单id
     */
    public void setOrderId(String orderId) {
        this.orderId = orderId == null ? null : orderId.trim();
    }

    /**
     * 订购数量
     *
     * @return qty 订购数量
     */
    public Integer getQty() {
        return qty;
    }

    /**
     * 订购数量
     *
     * @param qty 订购数量
     */
    public void setQty(Integer qty) {
        this.qty = qty;
    }

    /**
     * 发货中数量
     *
     * @return shipping_qty 发货中数量
     */
    public Integer getShippingQty() {
        return shippingQty;
    }

    /**
     * 发货中数量
     *
     * @param shippingQty 发货中数量
     */
    public void setShippingQty(Integer shippingQty) {
        this.shippingQty = shippingQty;
    }

    /**
     * 已发货数量
     *
     * @return shiped_qty 已发货数量
     */
    public Integer getShipedQty() {
        return shipedQty;
    }

    /**
     * 已发货数量
     *
     * @param shipedQty 已发货数量
     */
    public void setShipedQty(Integer shipedQty) {
        this.shipedQty = shipedQty;
    }

    /**
     * 平台标准单价(吊牌价)
     *
     * @return price 平台标准单价(吊牌价)
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 平台标准单价(吊牌价)
     *
     * @param price 平台标准单价(吊牌价)
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 系统标准单价
     *
     * @return sale_price 系统标准单价
     */
    public BigDecimal getSalePrice() {
        return salePrice;
    }

    /**
     * 系统标准单价
     *
     * @param salePrice 系统标准单价
     */
    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }

    /**
     * 实际单价(拍单价)
     *
     * @return fact_unit_price 实际单价(拍单价)
     */
    public BigDecimal getFactUnitPrice() {
        return factUnitPrice;
    }

    /**
     * 实际单价(拍单价)
     *
     * @param factUnitPrice 实际单价(拍单价)
     */
    public void setFactUnitPrice(BigDecimal factUnitPrice) {
        this.factUnitPrice = factUnitPrice;
    }

    /**
     * 成本价
     *
     * @return goods_sku_cost 成本价
     */
    public BigDecimal getGoodsSkuCost() {
        return goodsSkuCost;
    }

    /**
     * 成本价
     *
     * @param goodsSkuCost 成本价
     */
    public void setGoodsSkuCost(BigDecimal goodsSkuCost) {
        this.goodsSkuCost = goodsSkuCost;
    }

    /**
     * 实际支付金额
     *
     * @return divide_order_fee 实际支付金额
     */
    public BigDecimal getDivideOrderFee() {
        return divideOrderFee;
    }

    /**
     * 实际支付金额
     *
     * @param divideOrderFee 实际支付金额
     */
    public void setDivideOrderFee(BigDecimal divideOrderFee) {
        this.divideOrderFee = divideOrderFee;
    }

    /**
     * 备注
     *
     * @return remark 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 子订单编号(平台oid)
     *
     * @return oid 子订单编号(平台oid)
     */
    public String getOid() {
        return oid;
    }

    /**
     * 子订单编号(平台oid)
     *
     * @param oid 子订单编号(平台oid)
     */
    public void setOid(String oid) {
        this.oid = oid == null ? null : oid.trim();
    }

    /**
     * 平台交易号
     *
     * @return trade_code 平台交易号
     */
    public String getTradeCode() {
        return tradeCode;
    }

    /**
     * 平台交易号
     *
     * @param tradeCode 平台交易号
     */
    public void setTradeCode(String tradeCode) {
        this.tradeCode = tradeCode == null ? null : tradeCode.trim();
    }

    /**
     * 赠品
     *
     * @return is_gift 赠品
     */
    public String getIsGift() {
        return isGift;
    }

    /**
     * 赠品
     *
     * @param isGift 赠品
     */
    public void setIsGift(String isGift) {
        this.isGift = isGift == null ? null : isGift.trim();
    }

    /**
     * 虚拟商品
     *
     * @return is_virt 虚拟商品
     */
    public String getIsVirt() {
        return isVirt;
    }

    /**
     * 虚拟商品
     *
     * @param isVirt 虚拟商品
     */
    public void setIsVirt(String isVirt) {
        this.isVirt = isVirt == null ? null : isVirt.trim();
    }

    /**
     * 平台规格id
     *
     * @return ec_sku_id 平台规格id
     */
    public String getEcSkuId() {
        return ecSkuId;
    }

    /**
     * 平台规格id
     *
     * @param ecSkuId 平台规格id
     */
    public void setEcSkuId(String ecSkuId) {
        this.ecSkuId = ecSkuId == null ? null : ecSkuId.trim();
    }

    /**
     * 平台规格编码
     *
     * @return ec_sku_code 平台规格编码
     */
    public String getEcSkuCode() {
        return ecSkuCode;
    }

    /**
     * 平台规格编码
     *
     * @param ecSkuCode 平台规格编码
     */
    public void setEcSkuCode(String ecSkuCode) {
        this.ecSkuCode = ecSkuCode == null ? null : ecSkuCode.trim();
    }

    /**
     * 平台规格名称
     *
     * @return ec_sku_name 平台规格名称
     */
    public String getEcSkuName() {
        return ecSkuName;
    }

    /**
     * 平台规格名称
     *
     * @param ecSkuName 平台规格名称
     */
    public void setEcSkuName(String ecSkuName) {
        this.ecSkuName = ecSkuName == null ? null : ecSkuName.trim();
    }

    /**
     * 平台商品id
     *
     * @return ec_item_id 平台商品id
     */
    public String getEcItemId() {
        return ecItemId;
    }

    /**
     * 平台商品id
     *
     * @param ecItemId 平台商品id
     */
    public void setEcItemId(String ecItemId) {
        this.ecItemId = ecItemId == null ? null : ecItemId.trim();
    }

    /**
     * 平台商品编码
     *
     * @return ec_item_code 平台商品编码
     */
    public String getEcItemCode() {
        return ecItemCode;
    }

    /**
     * 平台商品编码
     *
     * @param ecItemCode 平台商品编码
     */
    public void setEcItemCode(String ecItemCode) {
        this.ecItemCode = ecItemCode == null ? null : ecItemCode.trim();
    }

    /**
     * 平台商品名称
     *
     * @return ec_item_name 平台商品名称
     */
    public String getEcItemName() {
        return ecItemName;
    }

    /**
     * 平台商品名称
     *
     * @param ecItemName 平台商品名称
     */
    public void setEcItemName(String ecItemName) {
        this.ecItemName = ecItemName == null ? null : ecItemName.trim();
    }

    /**
     * 规格id
     *
     * @return sku_id 规格id
     */
    public String getSkuId() {
        return skuId;
    }

    /**
     * 规格id
     *
     * @param skuId 规格id
     */
    public void setSkuId(String skuId) {
        this.skuId = skuId == null ? null : skuId.trim();
    }

    /**
     * 规格商家编码
     *
     * @return sku_code 规格商家编码
     */
    public String getSkuCode() {
        return skuCode;
    }

    /**
     * 规格商家编码
     *
     * @param skuCode 规格商家编码
     */
    public void setSkuCode(String skuCode) {
        this.skuCode = skuCode == null ? null : skuCode.trim();
    }

    /**
     * 规格名称
     *
     * @return sku_name 规格名称
     */
    public String getSkuName() {
        return skuName;
    }

    /**
     * 规格名称
     *
     * @param skuName 规格名称
     */
    public void setSkuName(String skuName) {
        this.skuName = skuName == null ? null : skuName.trim();
    }

    /**
     * 商品id
     *
     * @return goods_id 商品id
     */
    public String getGoodsId() {
        return goodsId;
    }

    /**
     * 商品id
     *
     * @param goodsId 商品id
     */
    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId == null ? null : goodsId.trim();
    }

    /**
     * 商品商家编码
     *
     * @return goods_code 商品商家编码
     */
    public String getGoodsCode() {
        return goodsCode;
    }

    /**
     * 商品商家编码
     *
     * @param goodsCode 商品商家编码
     */
    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode == null ? null : goodsCode.trim();
    }

    /**
     * 商品名称
     *
     * @return goods_name 商品名称
     */
    public String getGoodsName() {
        return goodsName;
    }

    /**
     * 商品名称
     *
     * @param goodsName 商品名称
     */
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName == null ? null : goodsName.trim();
    }

    /**
     * 删除标记
     *
     * @return deleted 删除标记
     */
    public String getDeleted() {
        return deleted;
    }

    /**
     * 删除标记
     *
     * @param deleted 删除标记
     */
    public void setDeleted(String deleted) {
        this.deleted = deleted == null ? null : deleted.trim();
    }

    /**
     * 创建时间
     *
     * @return create_time 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 修改时间
     *
     * @return update_time 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 修改时间
     *
     * @param updateTime 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 赠品赠送数量
     */
    private Integer sendCount;

    public Integer getSendCount() {
        return sendCount;
    }

    public void setSendCount(Integer sendCount) {
        this.sendCount = sendCount;
    }

    public String getEcItemOuterCode() {
        return ecItemOuterCode;
    }

    public void setEcItemOuterCode(String ecItemOuterCode) {
        this.ecItemOuterCode = ecItemOuterCode == null ? null : ecItemOuterCode.trim();
    }

    public String getEcSkuOuterCode() {
        return ecSkuOuterCode;
    }

    public void setEcSkuOuterCode(String ecSkuOuterCode) {
        this.ecSkuOuterCode = ecSkuOuterCode == null ? null : ecSkuOuterCode.trim();
    }

    // 记录订单上相同oid下有多少商品，给自动生成退款单时用，用于生成组合商品列表
    private int composeGoodsFlag = 0;

    public int getComposeGoodsFlag() {
        return composeGoodsFlag;
    }

    public void setComposeGoodsFlag(int composeGoodsFlag) {
        this.composeGoodsFlag = composeGoodsFlag;
    }
}